Advanced techniques for improved product photography, interactivity, and information distribution

ABSTRACT

A computing device obtains a digital image of a color calibration target for a product; obtains product information for the product; determines image adjustment information based on the digital image of the color calibration target; obtains a digital image of the product based on the image adjustment information; and transmits the image data of the product and the product information to a backend product computer system. Obtaining the product information for the product may include scanning a graphical code, such as a QR code or a bar code, or obtaining information from the product via short-range radio-frequency communication. The method may further include receiving a response from the backend product computer system, which may include additional product information. The color calibration target and encoded product information may be included in a QR code having three or more color regions.

SUMMARY

In some embodiments, a computing device performs a method in which thecomputing device obtains a digital image of a color calibration targetfor a product; obtains product information for the product; determinesimage adjustment information based at least in part on the digital imageof the color calibration target; obtains a digital image of the productbased at least in part on the image adjustment information; andtransmits the image data of the product and the product information to abackend product computer system. The color calibration target mayinclude a color checker chart or gray card. Obtaining the productinformation for the product may include scanning a graphical code, suchas a QR code or a bar code, or obtaining information from the productvia short-range radio-frequency communication. The method may furtherinclude receiving a response from the backend product computer system.The response may include additional product information.

In an embodiment, the color calibration target comprises a QR codehaving three or more color regions. Determining the image adjustmentinformation may include comparing pixel values in the color regions(which may be at predetermined locations and/or in distinctively shapedregions within the QR code) with expected pixel values and adjusting oneor more image capture parameters based on the comparisons. Obtaining theproduct information for the product may include extracting the productinformation from the QR code.

In an embodiment, obtaining the digital image of the product based atleast in part on the image adjustment information includes adjusting oneor more image capture parameters based at least in part on the imageadjustment information; and capturing the digital image of the productusing the adjusted image capture parameters.

In an embodiment, the product is a cosmetics product, and wherein theproduct information includes batch characterization information for thecosmetics product.

Further embodiments include illustrative computing devices, computersystems, manufacturing systems, and computer-readable media.

This summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This summary is not intended to identify key features ofthe claimed subject matter, nor is it intended to be used as an aid indetermining the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

The patent or application file contains at least one drawing executed incolor. Copies of this patent or patent application publication withcolor drawing(s) will be provided by the Office upon request and paymentof the necessary fee.

The foregoing aspects and many of the attendant advantages of thisinvention will become more readily appreciated as the same become betterunderstood by reference to the following detailed description, whentaken in conjunction with the accompanying drawings, wherein:

FIG. 1 is a schematic diagram that provides a high-level overview ofexample functionality of various embodiments of the present disclosure;

FIG. 2 is a block diagram that illustrates an example embodiment of aclient computing device according to various aspects of the presentdisclosure;

FIG. 3 is a diagram of a QR code comprising a color calibration targetin the form of color regions according to various aspects of the presentdisclosure;

FIG. 4 is a flowchart that illustrates an example embodiment of a methodof obtaining customized product information in response to colorcalibrated product images according to various aspects of the presentdisclosure; and

FIG. 5 is a block diagram that illustrates aspects of an exemplarycomputing device appropriate for use with embodiments of the presentdisclosure.

DETAILED DESCRIPTION

The process of effectively matching a personal care product such as lipgloss, lipstick, or makeup to a particular consumer is a complicatedone. Even if a consumer is provided with an educated recommendation asto whether a product of a particular color is appropriate for her skintone, that recommendation is based on what that color of the product isintended to be (e.g., based on a name or other identifier of theproduct), as opposed to the actual characteristics of the particularproduct that the consumer intends to buy, including any variations thatmay have occurred during the manufacturing process. Cosmeticsmanufacturing processes are very sensitive to variations in rawmaterials and pigment dispersion from one batch to another, resulting inunpredictable variations in color, texture and other properties offinished products.

Although a consumer may in some situations be able to inspect the actualproduct before she purchases it, the consumer's view of the product willbe highly dependent on lighting and other environmental conditions.Furthermore, a visual inspection of the product is insufficient todetect any variations in the actual color of the product compared to theexpected color. Additional problems occur with virtual “try on”applications that attempt to provide the consumer with the experience oftrying on different shades or textures. Such applications may allow aconsumer to virtually apply a product such as lipstick to a photo, butthese applications can be problematic. As one example, such applicationsare again based on what the color of the product is intended to be,rather than the color of the particular product that the consumer willactually be using, with corresponding variations that may have occurredduring the manufacturing process.

FIG. 1 is a block diagram that illustrates an example embodiment of asystem according to various aspects of the present disclosure that helpsolve these problems, while also providing technical benefits describedin more detail below. As shown, a system 100 includes components thatallow an end user to obtain customized product information in responseto color calibrated product images. In an embodiment, the system 100comprises a system for encoding personal care products (e.g., cosmetics,nail care products, and the like) with information that can be decodedand used by consumers. For example, consumers can use the system 100 toobtain customized product information for personal care products thatmay be available in a variety of colors, textures, and the like.Non-limiting examples of such products include eye liners, lip glosses,lipsticks, makeup, and nail polish. Such products may have intendedvariations in color, texture, or other characteristics, as well asunintended variations that occur during or after manufacturing.Described embodiments allow end users to obtain product identificationand batch information (e.g., color, texture, formula, sourcinginformation, and the like) as well as accurate images of the actualproduct, to assist in matching a consumer with a product that isappropriate for that consumer, thereby enhancing the consumer'sexperience.

The system 100 may be suitable for implementing actions such asobtaining product information for a product (e.g., product identifiers,batch information, etc.); determining image adjustment information basedat least in part on a digital image of a color calibration target forthe product; obtaining a digital image of the product based at least inpart on the image adjustment information; receiving the image data ofthe product and the product information at a backend product computersystem; and providing a response (e.g., additional product information,product recommendations, and the like) from the backend product computersystem. Though some aspects are illustrated and described as relating topersonal care products to succinctly describe one embodiment of thepresent disclosure, in some embodiments, products other than personalcare products may be processed by the system 100.

As shown, the system 100 includes a backend product computer system 102,a client computing device 104 (e.g., a smart phone, tablet computer,etc.), and a manufacturing and labeling system 110. Each of thesecomponents may communicate with each other via a network 90, which mayinclude any suitable communication technology including but not limitedto wired technologies such as DSL, Ethernet, fiber optic, USB, andFirewire; wireless technologies such as WiFi, WiMAX, 3G, 4G, LTE, andBluetooth; and the Internet.

In some embodiments, the client computing device 104 may be used by auser to interact with other components of the system 100. Typically, theclient computing device 104 is a mobile computing device such as a smartphone or a tablet computing device. However, any other suitable type ofcomputing device capable of communicating via the network 90 andpresenting a user interface, including but not limited to a desktopcomputing device, a laptop computing device, and a smart watch, may beused.

In some embodiments, the backend product computer system 102 isconfigured to receive information from manufacturing and labeling system110 and to use the received information to characterize particularbatches of a manufactured product. For example, batches may be inspectedand/or automatically analyzed in the factory tank after mixing for colorand texture characteristics, or raw materials may be inspected and/orautomatically analyzed prior to mixing. In some embodiments, the backendproduct computer system 102 transmits instructions to the manufacturingand labeling system 110 to cause selected products to be encoded (e.g.,using graphical codes such as QR codes or bar codes) with productinformation such as product identifiers, batch information (e.g., colorinformation, texture information, raw material component/formulainformation, etc.), raw material sourcing and traceability information,sustainability and environmental information, and the like. Thisinformation can be subsequently decoded by consumers or by otherentities, such as researchers, engineers, or quality controltechnicians, to obtain information about the batch from which the endproduct was made. The backend product computer system 102 is illustratedas communicating directly with the manufacturing and labeling system110, which may occur using any suitable wired or wireless technology,though in some embodiments, such communication may occur via the network90.

As illustrated, the backend product computer system 102 includes arecommendation engine 112, a product information encoding engine 116, aproduct data store 120, and a batch data store 118. In some embodiments,the recommendation engine 112 receives product information from theproduct data store 120 along with information from the client computingdevice 104, and uses this information to generate productrecommendations. For example, the client computing device 104 mayprovide product information and product image data obtained from aproduct 130 (e.g., a cosmetics product such as lipstick, lip gloss, eyeshadow, foundation, or the like). The recommendation engine 112 may, inresponse, use this information to develop or obtain additional productinformation or recommendations (e.g., other products, other shades orstyles of a similar product, etc.) to provide to the client computingdevice. In an embodiment, the client computing device 104 obtains theproduct information by decoding information encoded on or in the product(e.g., in a graphical code 132 such as a bar code or QR code, or in anear-field communication (NFC) or radio-frequency identification (RFID)chip) and obtains image data by capturing a color-calibrated image ofthe product. Techniques that may be employed by the client computingdevice 104 to obtain and provide such information to the backend productcomputer system 102 are described in further detail below.

In some embodiments, the product information encoding engine 116receives product information from the product data store 120 and thebatch data store 118 and uses this information to provide encodinginstructions to the manufacturing and labeling system 110. For example,during a first stage of a manufacturing process, the manufacturing andlabeling system 110 may prepare a batch of product using a particularmix of ingredients. The components of this mix may be recorded andquantified, and this information may be stored and associated with anidentifier for particular batch in the batch data store 118. In a secondstage, the product information encoding engine 116 may send commands tothe manufacturing and labeling system 110 that cause the system 110 toencode such information on the product (e.g., in a bar code or QR code).

Although the system 110 is illustrated as a combined manufacturing andlabeling system for ease of illustration, it should be understood thatmanufacturing, labeling, packaging, or other functionality may beprovided in separate systems or subsystems. In addition, while the term“labeling” is used herein to describe an illustrative process in whichinformation is encoded on labels that may be affixed to a product 130 orpackaging of a product, it should be understood that actual labels arenot required and may instead be replaced with direct printing or etchingon the product 130, or with digital encoding of information onelectronic components (e.g., NFC or RFID chips) in or on the product orpackaging.

FIG. 2 is a block diagram that illustrates an example embodiment of aclient computing device 104 according to various aspects of the presentdisclosure. In the example shown in FIG. 2, the client computing device104 includes a camera 250 and a client application 260. The clientapplication 260 includes a user interface 276, which may includeinteractive functionality such as guides, tutorials, virtual “try-on”functionality, or product exploration technology. This technology may,in some embodiments, allow consumers to try different looks, performcolor matching, compare products with other products, test variations incharacteristics such as coverage, color, finish, etc. In an embodiment,the highly accurate imaging and analysis of the product allows improvedproduct recommendations (e.g., matching customer's lipstick torecommended eye shadow, blush, etc.), color matching for discontinuedproducts, variations in products (e.g., find a precisely matching colorwith different finish, coverage, etc.), and the like. In an embodiment,the user interface and related technology is provided on a consumer'scomputing device (e.g., smart phone, tablet computer, etc.)Alternatively, described functionality such as virtual try-on,recommendations, and the like can be provided on some other computingdevice, such as a device with a larger screen at the point of sale.

In an embodiment, a user captures an image of a graphical code 132 onthe product 130 using the camera 250. The camera provides image data tothe client application 260, which performs image preprocessing 270 todetermine how the image data should be processed. In an embodiment, theimage data is determined to include both product information and colorcalibration information. In an embodiment, this information is encodedtogether in a QR code. Alternatively, this information can be providedseparately, or in some other medium.

FIG. 3 is a diagram of a QR code 132 comprising a color calibrationtarget according to various aspects of the present disclosure. In thisexample, the color calibration target feature of the QR code includesseveral color regions in predetermined locations within the QR code. Inthis example, the colors in the QR code match those that would bepresent in a color checker chart for color calibration in photography.However, it should be understood that fewer or additional colors couldalso be used depending on factors such as desired level of accuracy,color of the product, etc. In an embodiment, the QR code includes three(e.g., white, black, gray) or more colors. Because the location of eachcolor is known, the client application 260 can analyze the image data atthose locations to determine whether the camera 250 is accuratelycapturing those colors, or whether some adjustments may be needed.

In addition to, or as an alternative to predetermined location, thesecolor regions may be distinguished by shapes that can be recognized bythe image adjustment determination engine 274 as corresponding to aparticular color or shade of gray. As an example, as shown in FIG. 3,the shapes of the blue regions are distinct from the shape of the yellowand red regions. Many other sizes, shapes, positions, and arrangementsof color regions relative to one another also can be used.

In an embodiment, the color regions can serve the purpose of providingcolor calibration information to the image adjustment determinationengine 274, while also being interpreted as embellishments that can beignored (e.g., using appropriate error correction or filteringmechanisms) for the purpose of extraction of text information by thecode reader 272. In this way, the color regions can be added within theboundaries of the QR code 132 to provide color calibration functionalitywithout interfering with the ability of the QR code 132 to encodeproduct information. The amount of text information provided by the codemay vary based on, e.g., the dimensions/resolution of the QR code, thenumber of bits per character, error correction level, etc.

Alternatively, color calibration information can be provided in someother way. For example, an NFC or RFID chip, a black and white bar code,or a black and white QR code may be used to encode product information,and a separate color calibration target (e.g., a gray card or colorchecker chart affixed to the product or packaging) may be included toprovide color calibration information. As an example, a separate colorcalibration target may be positioned near a graphical code (e.g., above,below, or to the left or right of the graphical code) such that a singleimage capture operation can be used to capture an image of the colorcalibration target and the graphical code at the same time.

Referring again to FIG. 2, the client application 260 may use imagepreprocessing to identify the image data as containing the graphicalcode 132. The image data is then provided to a code reader 272, whichextracts information from the graphical code 132. In the example shownin FIG. 2, the extracted information includes product information.Extracted product information may include a product ID, color,effect/shine (e.g., mat, soft, satin, glossy, metallic), finish (e.g.,long-lasting, powdery, velvety), coverage (e.g., light, medium, full),color intensity, texture (e.g., gloss, creamy, liquid, wax, powder,lacquer), pearl size (e.g., small, medium, large), pearl density (e.g.,high, medium, low), pearl color (e.g., silver, gold, rose), metalliceffect (e.g., silver, blue, black, gold), reflection properties,metallic particles, ingredients, batch information, etc. In the case ofa color OR code having embedded color calibration information (such asthe example shown in FIG. 3), the extracted information also may includecolor calibration information. In this situation, the code reader 272can provide the color calibration information to an image adjustmentdetermination engine 274, which can then determine whether the camera250 is accurately capturing those colors, or whether some adjustments toimage capture parameters (e.g., white balance, exposure settings, colortemperature, etc.) in the camera settings 252 or adjustments toenvironmental conditions (e.g., lighting, location of the object beingphotographed, etc.) may be needed. If adjustments to image captureparameters are needed, the image adjustment determination engine 274 mayautomatically make one or more corresponding adjustments to the camerasettings 252, or prompt the user to make those adjustments via the userinterface 276. If adjustments to environmental conditions are needed,the image adjustment determination engine 274 may cause the userinterface 276 to prompt the user to make those adjustments.

Once any determined adjustments are made, the user can capture an imageof the product itself (e.g., lipstick, lip gloss, etc.). This processcan be repeated as many times as may be practical or desirable to obtainthe desired level of accuracy.

The product image data can then be sent along with product information(and potentially other information, such as a user ID, device ID, or thelike) to a communication module 278 for subsequent formatting andtransmission to the backend product computer system 102. (Other featuresof the client computing device 104 are not shown in FIG. 2 for ease ofillustration. A description of illustrative computing devices isprovided below with reference to FIG. 5.)

In an embodiment, the user interface 276 provides virtual “try on”functionality that allows the consumer to virtually apply the actualcharacteristics of that product, e.g., to an image of the consumer'sface. This functionality also may provide the ability to virtually tryon variations in the product (e.g., different finishes, textures, tints,etc.) or provide variations in rendering of the virtual try-on images.Product information and image data transmitted to the backend computersystem 102 can be used to perform anonymous analytics to, e.g., monitorconsumer satisfaction or changes in the end product over time aftermanufacturing. Product information transmitted to the backend productcomputer system 102 may include the extracted product information,either alone or in combination with other information such as userpreferences or selected variations for a particular product, which maybe obtained via the user interface 276. Analytics (e.g., in combinationwith machine learning processes) can help to improve future procurementand manufacturing processes as well as to provide customers withdesirable products in terms of customized tints, textures, or otherfeatures.

In one illustrative scenario, the client computing device 104establishes communication with the backend product computer system 102before capturing the images. For example, the client computing device104 may establish communication with the backend product computer system102 in response to launching the client application 260, or in responseto navigating to a URL associated with the backend product computersystem 102 via a web browser. Alternatively, the client computing device104 may establish communication with the backend product computer system102 after capturing an image of a code. For example, the code mayinclude an encoded URL associated with the backend product computersystem 102, or encoded instructions to download (e.g., from a website oran application marketplace) an application that allows the clientcomputing device 104 to establish communication with the backend productcomputer system 102. In this scenario, the code reader may cause themobile computing device to navigate to the URL or download the clientapplication 260.

Within components of the system 100, or by components of the system 100working in combination, numerous technical benefits are achieved. Forexample, the ability to adjust image capture parameters and/orenvironmental conditions to capture accurate images of the actualproduct overcomes the previous limitations of inaccurate images orvisual inspections, or inaccurate assumptions about the expectedcharacteristics (e.g., color, texture, etc.) of the product. As yetanother example, the system 100 allows some aspects of the process to beconducted independently by the client computing device 104, such asadjusting image capture parameters to account for lighting and otherenvironmental conditions in the location where the images of the productwill be captured. Additional benefits may be realized by moving otherprocessing burdens to the backend product computer system 102 (which maybe a relatively high-powered and reliable computing system) from theclient computing device 104, thus improving performance and preservingbattery life for functionality provided by the client computing device104.

In general, the word “engine,” as used herein, refers to logic embodiedin hardware or software instructions, which can be written in aprogramming language, such as C, C++, COBOL, JAVA™, PHP, Perl, HTML,CSS, JavaScript, VBScript, ASPX, Microsoft .NET™, and/or the like. Anengine may be compiled into executable programs or written ininterpreted programming languages. Software engines may be callable fromother engines or from themselves. Generally, the engines describedherein refer to logical modules that can be merged with other engines,or can be divided into sub-engines. The engines can be stored in anytype of computer-readable medium or computer storage device and bestored on and executed by one or more general purpose computers, thuscreating a special purpose computer configured to provide the engine orthe functionality thereof.

As understood by one of ordinary skill in the art, a “data store” asdescribed herein may be any suitable device configured to store data foraccess by a computing device. One example of a data store is a highlyreliable, high-speed relational database management system (DBMS)executing on one or more computing devices and accessible over ahigh-speed network. Another example of a data store is a key-valuestore. However, any other suitable storage technique and/or devicecapable of quickly and reliably providing the stored data in response toqueries may be used, and the computing device may be accessible locallyinstead of over a network, or may be provided as a cloud-based service.A data store may also include data stored in an organized manner on acomputer-readable storage medium, as described further below. One ofordinary skill in the art will recognize that separate data storesdescribed herein may be combined into a single data store, and/or asingle data store described herein may be separated into multiple datastores, without departing from the scope of the present disclosure.

FIG. 4 is a flowchart that illustrates an example embodiment of a methodof obtaining customized product information in response to colorcalibrated product images according to various aspects of the presentdisclosure. Though some embodiments of the method 400 may be used withany type of product, some embodiments of the method 400 are particularlysuitable for cosmetics products as described herein.

From a start block, the method 400 proceeds to block 402, where a clientcomputing device (e.g., a mobile computing device comprising a camera)obtains a digital image of a color calibration target for a product. Themethod proceeds to block 404, where the client computing device obtainsproduct information (e.g., product ID, batch characterizationinformation, etc.) for the product. In some embodiments, the colorcalibration target may be integrated with a graphical code, such as a QRcode having three or more colors as described herein, such that thesteps of blocks 402 and 404 are performed in a process of capturing animage of and extracting information from the QR code, as describedabove. In other embodiments, obtaining the product information for theproduct comprises obtaining information from the product via some othergraphical code, or via short-range radio-frequency communication (e.g.,NFC or RFID communication).

The method proceeds to block 406, where the client computing devicedetermines image adjustment information based at least in part on thedigital image of the color calibration target. For example, the clientcomputing device may compare captured pixel values with expected pixelvalues at predetermined locations in color regions of a QR code or colorchecker chart. The client computing device may automatically adjustcamera settings such as white balance, exposure settings, colortemperature, or the like based on the image of the color calibrationtarget (e.g., in response to the comparisons described above), withoutfurther user intervention. One example of a technical benefit of thisapproach is that the camera settings are adjusted for the specificpurpose of photographing the specific product in its specificenvironmental conditions, thereby promoting a more accurate capture ofthe colors of the actual product.

The method proceeds to block 408, where the client computing deviceobtains a digital image of the product (e.g., lipstick, lip gloss, etc.)based at least in part on the image adjustment information. This stepmay include, for example, capturing the digital image of the productusing adjusted image capture parameters as described above. The methodproceeds to block 410, where the client computing device transmits theimage data of the product and the product information to a backendproduct computer system. The method proceeds to block 412, where theclient computing device receives a response from the backend productcomputer system.

The method 500 then proceeds to an end block and terminates.

FIG. 5 is a block diagram that illustrates aspects of an exemplarycomputing device 500 appropriate for use with embodiments of the presentdisclosure. While FIG. 5 is described with reference to a computingdevice that is implemented as a device on a network, the descriptionbelow is applicable to servers, personal computers, mobile phones, smartphones, tablet computers, embedded computing devices, and other devicesthat may be used to implement portions of embodiments of the presentdisclosure. Moreover, those of ordinary skill in the art and others willrecognize that the computing device 500 may be any one of any number ofcurrently available or yet to be developed devices.

In its most basic configuration, the computing device 500 includes atleast one processor 502 and a system memory 504 connected by acommunication bus 506. Depending on the exact configuration and type ofdevice, the system memory 504 may be volatile or nonvolatile memory,such as read only memory (“ROM”), random access memory (“RAM”), EEPROM,flash memory, or similar memory technology. Those of ordinary skill inthe art and others will recognize that system memory 504 typicallystores data and/or program modules that are immediately accessible toand/or currently being operated on by the processor 502. In this regard,the processor 502 may serve as a computational center of the computingdevice 500 by supporting the execution of instructions.

As further illustrated in FIG. 5, the computing device 500 may include anetwork interface 510 comprising one or more components forcommunicating with other devices over a network. Embodiments of thepresent disclosure may access basic services that utilize the networkinterface 510 to perform communications using common network protocols.The network interface 510 may also include a wireless network interfaceconfigured to communicate via one or more wireless communicationprotocols, such as WiFi, 2G, 3G, LTE, WiMAX, Bluetooth, and/or the like.

In the exemplary embodiment depicted in FIG. 5, the computing device 500also includes a storage medium 508. However, services may be accessedusing a computing device that does not include means for persisting datato a local storage medium. Therefore, the storage medium 508 depicted inFIG. 5 is represented with a dashed line to indicate that the storagemedium 508 is optional. In any event, the storage medium 508 may bevolatile or nonvolatile, removable or nonremovable, implemented usingany technology capable of storing information such as, but not limitedto, a hard drive, solid state drive, CD ROM, DVD, or other disk storage,magnetic cassettes, magnetic tape, magnetic disk storage, and/or thelike.

As used herein, the term “computer-readable medium” includes volatileand non-volatile and removable and non-removable media implemented inany method or technology capable of storing information, such ascomputer readable instructions, data structures, program modules, orother data. In this regard, the system memory 504 and storage medium 508depicted in FIG. 5 are merely examples of computer-readable media. In anembodiment, computer-readable media can be used to store data for use byprograms.

Suitable implementations of computing devices that include a processor502, system memory 504, communication bus 506, storage medium 508, andnetwork interface 510 are known and commercially available. For ease ofillustration and because it is not important for an understanding of theclaimed subject matter, FIG. 5 does not show some of the typicalcomponents of many computing devices. In this regard, the computingdevice 500 may include input devices, such as a keyboard, keypad, mouse,microphone, touch input device, touch screen, tablet, and/or the like.Such input devices may be coupled to the computing device 500 by wiredor wireless connections including RF, infrared, serial, parallel,Bluetooth, USB, or other suitable connections protocols using wirelessor physical connections. Similarly, the computing device 500 may alsoinclude output devices such as a display, speakers, printer, etc. Sincethese devices are well known in the art, they are not illustrated ordescribed further herein.

While illustrative embodiments have been illustrated and described, itwill be appreciated that various changes can be made therein withoutdeparting from the spirit and scope of the invention.

The invention claimed is:
 1. A computer-implemented method, comprising:obtaining, by a computing device, a digital image of a color calibrationtarget on a cosmetics product; obtaining, by the computing device,product information for the cosmetics product; extracting pixel valuesfrom the digital image at predetermined locations of the colorcalibration target on the cosmetics product; obtaining expected pixelvalues for the predetermined locations; determining, by the computingdevice, image adjustment information based at least in part oncomparisons of the extracted pixel values from the digital image at thepredetermined locations of the color calibration target with theexpected pixel values for the predetermined locations; obtaining, by thecomputing device, a digital image of the cosmetics product based atleast in part on the image adjustment information; and transmitting, bythe computing device, image data obtained from the digital image of thecosmetics product and the product information to a backend productcomputer system.
 2. The method of claim 1, wherein the color calibrationtarget comprises a QR code having three or more color regions within theQR code.
 3. The method of claim 2, wherein obtaining the productinformation for the cosmetics product comprises extracting the productinformation from the QR code.
 4. The method of claim 3, wherein thepredetermined locations of the color calibration target include one ormore locations in the color regions within the QR code, and whereindetermining the image adjustment information comprises adjusting one ormore image capture parameters based on the comparisons.
 5. The method ofclaim 1, wherein obtaining the digital image of the cosmetics productbased at least in part on the image adjustment information includes:adjusting, by the computing device, one or more image capture parametersbased at least in part on the image adjustment information; capturing,by the computing device, the digital image of the cosmetics productusing the adjusted image capture parameters.
 6. The method of claim 1,wherein the product information includes batch characterizationinformation for the cosmetics product.
 7. The method of claim 1, furthercomprising receiving a response from the backend product computersystem, wherein the response includes additional product information. 8.The method of claim 1, wherein the color calibration target comprises acolor checker chart or gray card.
 9. The method of claim 1, whereinobtaining the product information for the product comprises scanning agraphical code.
 10. The method of claim 9, wherein the graphical codecomprises a QR code or a bar code.
 11. The method of claim 1, whereinobtaining the product information for the cosmetics product comprisesobtaining information from the cosmetics product via short-rangeradio-frequency communication.
 12. A computing device comprising acamera, at least one processor and computer-readable media having storedthereon instructions configured to cause the computing device to: obtaina digital image of a color calibration target on a cosmetics product;obtain product information for the cosmetics product; extract pixelvalues from the digital image at predetermined locations of the colorcalibration target on the cosmetics product; obtain expected pixelvalues for the predetermined locations; determine image adjustmentinformation based at least in part on comparisons of the extracted pixelvalues from the digital image at the predetermined locations of thecolor calibration target with the expected pixel values for thepredetermined locations; obtain a digital image of the cosmetics productbased at least in part on the image adjustment information, includingautomatically adjusting one or more camera settings based at least inpart on the image adjustment information, and capturing the digitalimage of the cosmetics product with the camera using the one or moreadjusted camera settings; transmit image data obtained from the digitalimage of the cosmetics product and the product information to a backendproduct computer system; and receive a response from the backend productcomputer system.
 13. The computing device of claim 12, wherein the colorcalibration target comprises a QR code having three or more colorregions, wherein obtaining the product information for the cosmeticsproduct comprises extracting the product information from the QR code.14. The computing device of claim 13, wherein the predeterminedlocations of the color calibration target include one or more locationsin the color regions within the QR code, and wherein determining theimage adjustment information comprises adjusting one or more imagecapture parameters based on the comparisons.
 15. The computing device ofclaim 12, wherein the computing device comprises a mobile computingdevice.
 16. The computing device of claim 12, wherein the colorcalibration target comprises a color checker chart or gray card.
 17. Thecomputing device of claim 12, wherein obtaining the product informationfor the product comprises scanning a graphical code.
 18. The computingdevice of claim 12 further comprising an near-field communication (NFC)or radio-frequency identification (RFID) reader, and wherein obtainingthe product information for the product comprises obtaining informationfrom an NFC or RFID chip.
 19. A non-transitory computer-readable mediumhaving stored thereon instructions configured to cause a computingdevice to: obtain a digital image of a color calibration target on acosmetics product; extract pixel values from the digital image atpredetermined locations of the color calibration target on the cosmeticsproduct; obtain expected pixel values for the predetermined locations;automatically determine image adjustment information based at least inpart on comparisons of the extracted pixel values from the digital imageat the predetermined locations of the color calibration target on thecosmetics product with the expected pixel values for the predeterminedlocations; and automatically generate one or more prompts to adjustimage capture parameters via a user interface responsive to thedetermining of the image adjustment information.
 20. The non-transitorycomputer-readable medium of claim 19, wherein the instructions arefurther configured to cause the computing device to automatically adjustone or more image capture parameters on a camera based on the imageadjustment information.
 21. The non-transitory computer-readable mediumof claim 19, wherein the image capture parameters include white balance,an exposure setting, or color temperature, or a combination thereof.